package bridging;
//桥接模式      桥接模式即将抽象部分与它的实现部分分离开来，使他们都可以独立变化。
//应用场景 ：如果抽象部分和实现部分都能够扩展的情况，可以采用桥接模式让他们都独立变化，从而灵活地进行单独扩展。
public class Test {
	public static void main(String[] args) {
		 CoffeeAdditive sugar = new Sugar();
	     CoffeeAdditive orignal = new Original();

	        //小杯加糖咖啡
	        Coffee smallSugarCoffee = new SmallCoffee(sugar);
	        smallSugarCoffee.makeCoffee();

	        //小杯原味咖啡
	        Coffee smallOriginalCoffee = new SmallCoffee(orignal);
	        smallOriginalCoffee.makeCoffee();

	        //大杯加糖咖啡
	        Coffee largeSugarCoffee = new LargeCoffee(sugar);
	        largeSugarCoffee.makeCoffee();

	        //小杯原味咖啡
	        Coffee largeOriginalCoffee = new LargeCoffee(orignal);
	        largeOriginalCoffee.makeCoffee();
	}
}
